package com.yixing.tech.entity.service;

import com.yixing.tech.common.base.BusinessException;
import com.yixing.tech.common.vo.s5.EntityVO;
import com.yixing.tech.entity.po.EntityData;

/**
 * @author yixing tech
 * 实体处理钩子服务
 */
public interface EntityHookService {

    EntityData beforeInsert(String tableId, EntityData data) throws BusinessException;

    EntityData afterInsert(String tableId, EntityData data) throws BusinessException;

    void beforeDelete(String tableId, String entityId) throws BusinessException;

    void afterDelete(String tableId, String entityId) throws BusinessException;

    EntityData beforeUpdate(String tableId, EntityData data) throws BusinessException;

    EntityData afterUpdate(String tableId, EntityData oldData, EntityData newData) throws BusinessException;

}
